package practice

import "fmt"

func Ptr() {
	var a *int //定义了一个指向int类型的引用
	c := 2
	a = &c          //取地址符&
	d := *a         //通过*获得值
	fmt.Println(*a) // 输出2
	fmt.Println(d)  // 输出2

	//************************************************************************
	var i int = 10
	println("i addr: ", &i) // 数据对象10的地址：0xc042064058

	var ptr *int = &i
	fmt.Printf("ptr=%v\n", ptr)        // 0xc042064058
	fmt.Printf("ptr addr: %v\n", &ptr) // 指针对象ptr本身的地址：0xc042084018
	fmt.Printf("ptr地址: %v\n", *&ptr)   // 指针对象ptr的值0xc042064058
	fmt.Printf("ptr->value: %v", *ptr) // 10

}

func NoName() {

}
